/**
  ******************************************************************************
  * @file    xxx.c 
  * @author  SD Electronics xxx
  * @version V1.0
  * @date    xx-xx-xx
  * @brief   xxxxxxxxxxxxxxxxxx.
  ******************************************************************************
  */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef _SD_DEV_tm1621c_H
#define _SD_DEV_tm1621c_H


/* Includes ------------------------------------------------------------------*/


/** 
  * @说明  TM1621模块命令定义 
  */  
#define SYSDIS   0x00    //关系统振荡器和LCD偏压发生器     
#define SYSEN    0x02    //打开系统振荡器     
   
#define LCDOFF   0x04     //关LCD偏压   
#define LCDON    0x06     //开LCD偏压   

#define TONEON   0x12     //打开声音输出   
#define TONEOFF  0x10     //关闭声音输出   
   
#define XTAL     0x28     //外部接晶振                                   
#define RC       0x30     //内部RC振荡     
   
#define BIAS     0x52     //1/3偏压 4公共口     
   
#define WDTDIS   0x0a     //禁止看门狗   
#define WDTEN    0x0e     //开启看门狗   


/** 
  * @说明  需要或的字节显示相关图标 
  */
#define ICON_NULL 0x00
#define ICON_ADD 0x01

/** 
  * @说明  tm1621c硬件配置相关结构体 
  */
typedef struct
{
    uint8_t DataType;//数据类型--电池、冒号、小数点
    uint8_t *Data;
    uint8_t DataSize;
}ST_DISPLAY_DATA, *PST_DISPLAY_DATA;

/** 
  * @说明  EN_BAT_ICON
  */
typedef enum
{
    EN_BAT_ICON_NULL = 0x04,
    EN_BAT_ICON_LEVEL1 = 0x14,
    EN_BAT_ICON_LEVEL2 = 0x15,
    EN_BAT_ICON_LEVEL3 = 0x1F,
}EN_BAT_ICON;


/** 
  * @说明  TM1621C Display 
  */
typedef enum
{
    EN_DISP_MODE_NULL,
    EN_DISP_MODE_CNT,
    EN_DISP_MODE_TIME,
    EN_DISP_MODE_CAL,
    EN_DISP_MODE_CDN,
    EN_DISP_MODE_MAX,
}EN_TM1621C_DISPLAY;

/** 
  * @说明  tm1621c硬件配置相关结构体 
  */
typedef struct
{
	uint8_t Icon_Battery;	//
	uint8_t Icon_Colon;	    //显示冒号
	uint8_t Icon_Comma;     //显示逗号
	uint8_t Icon_CNT;	    //
	uint8_t Icon_TIME;		//
	uint8_t Icon_CAL;		//
	uint8_t Icon_CDN;		//

	uint8_t TIME_SEC;		//秒
	uint8_t TIME_MIN;		//分

	uint8_t NUM_Thou_Show;		//个
	uint8_t NUM_Hund_Show;		//时
	uint8_t NUM_Ten_Show;		//百
	uint8_t NUM_Uint_Show;		//千

	PST_DISPLAY_DATA pst_display_data;
}ST_TM1621C_PHY, *PST_TM1621C_PHY;  



/** 
  * @说明  tm1621c控制结构体 
  */
typedef struct
{
	bool	bInitFlag;	        // 初始化标志
	PST_TM1621C_PHY	psttm1621cInfo;
}ST_TM1621C_CTRL, *PST_TM1621C_CTRL;  

#endif
/******************* (C) COPYRIGHT 2011 ShenZhenShiding electronics **************************/
